perm filename PALSAI.SAI[PNT,HE]1 blob
sn#417617 filedate 1979-02-10 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 BEGIN "PALSAI"
C00005 ENDMK
C⊗;
BEGIN "PALSAI"
COMMENT THIS PROGRAM IS USED TO TAKE THE PAL FILE INTOP2.PAL AND MAKE IT
SAIL READABLE BY PRODUCING JUST THE MAKEOP DEFINITIONS
AND REWRITING THEM OUT ONTO INTOPS.SAI[PNT,HE];
INTEGER RCHAN,RBRCHAR,REOF,RFLAG;
INTEGER WCHAN,WBRCHAR,WEOF,WFLAG;
OPEN(RCHAN←GETCHAN,"DSK",0,2,0,1000,RBRCHAR,REOF);
LOOKUP(RCHAN,"INTOPS.PAL[AL,HE]",RFLAG);
IF RFLAG THEN OUTSTR("
COULD NOT LOOKUP FILE INTOPS.PAL[AL,HE]
")
ELSE BEGIN "FOUNDFILE"
STRING LINE,WORD,GARB;
INTEGER BRCHAR;
INTEGER CRBREAK,CHARBREAK,WORDENDBREAK;
SETBREAK(CRBREAK←GETBREAK,'15,'12&'14,"ISNK");
SETBREAK(CHARBREAK←GETBREAK,"ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",NULL,"IKR");
SETBREAK(WORDENDBREAK←GETBREAK,"ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",NULL,"XKR");
OPEN(WCHAN←GETCHAN,"DSK",0,0,2,0,0,0);
ENTER(WCHAN,"INTOPS.SAI",WFLAG);
OUT(WCHAN,"COMMENT ⊗ This file is written by program PALSAI.
Any changes made by E will not hold once PALSAI is run again. ⊗;
");
WHILE NOT REOF DO
BEGIN "GETALINE"
LINE←INPUT(RCHAN,CRBREAK);
IF LENGTH(LINE) > 6 THEN
BEGIN
IF EQU(LINE[1 TO 6] ,"MAKEOP") THEN
BEGIN "MAKEOP"
OUT(WCHAN,"MAKEOP(");
LINE←LINE[7 TO ∞];
GARB←SCAN(LINE,CHARBREAK,BRCHAR);
WORD←SCAN(LINE,WORDENDBREAK,BRCHAR);
OUT(WCHAN,WORD&",");
GARB←SCAN(LINE,CHARBREAK,BRCHAR);
WORD←SCAN(LINE,WORDENDBREAK,BRCHAR);
OUT(WCHAN,WORD&")
");
END;
END;
END "GETALINE";
CLOSE(WCHAN);
RELEASE(WCHAN);
END "FOUNDFILE";
END "PALSAI";